package cz.worktracker.model.entities;
// Generated 19.4.2010 0:35:56 by Hibernate Tools 3.2.1.GA


import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * Taskinterval generated by hbm2java
 */
@Entity
@Table(name="invoice"
    ,catalog="pis10"
    , uniqueConstraints = @UniqueConstraint(columnNames="invoiceNumber")
)
public class Invoice  implements java.io.Serializable {


     private Integer id;
     private Integer idProject;
     private String invoiceNumber;
     private Float amount;
     private Date workDateFrom;
     private Date workDateTo;
     private Date dateOfIssue;
     private Date dueDate;
     private Date dateOfPayment;
     private String isPaid;
     private Float pricePerRateUnit;
     private String rateType;
     private Integer units;
     private String note;

    public Invoice() {
    }

	
    public Invoice(Integer idProject, String invoiceNumber, Float amount, Date workDateFrom, Date workDateTo, Date dateOfIssue, Date dueDate, String isPaid, Float pricePerRateUnit, String rateType) {
        this.idProject = idProject;
        this.invoiceNumber = invoiceNumber;
        this.amount = amount;
        this.workDateFrom = workDateFrom;
        this.workDateTo = workDateTo;
        this.dateOfIssue = dateOfIssue;
        this.dueDate = dueDate;
        this.isPaid = isPaid;
        this.pricePerRateUnit = pricePerRateUnit;
        this.rateType = rateType;
    }
    public Invoice(Integer idProject, String invoiceNumber, Float amount, Date workDateFrom, Date workDateTo, Date dateOfIssue, Date dueDate, Date dateOfPayment, String isPaid, Float pricePerRateUnit, String rateType, String note) {
       this.idProject = idProject;
       this.invoiceNumber = invoiceNumber;
       this.amount = amount;
       this.workDateFrom = workDateFrom;
       this.workDateTo = workDateTo;
       this.dateOfIssue = dateOfIssue;
       this.dueDate = dueDate;
       this.dateOfPayment = dateOfPayment;
       this.isPaid = isPaid;
       this.pricePerRateUnit = pricePerRateUnit;
       this.rateType = rateType;
       this.note = note;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)
    
    @Column(name="id", unique=true, nullable=false)
    public Integer getId() {
        return this.id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
    
    @Column(name="id_project", nullable=false)
    public Integer getIdProject() {
        return this.idProject;
    }
    
    public void setIdProject(Integer idProject) {
        this.idProject = idProject;
    }
    
    @Column(name="invoiceNumber", unique=true, nullable=false, length=16)
    public String getInvoiceNumber() {
        return this.invoiceNumber;
    }
    
    public void setInvoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
    }
    
    @Column(name="amount", nullable=false, precision=12, scale=0)
    public Float getAmount() {
        return this.amount;
    }
    
    public void setAmount(Float amount) {
        this.amount = amount;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="workDateFrom", nullable=false, length=10)
    public Date getWorkDateFrom() {
        return this.workDateFrom;
    }
    
    public void setWorkDateFrom(Date workDateFrom) {
        this.workDateFrom = workDateFrom;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="workDateTo", nullable=false, length=10)
    public Date getWorkDateTo() {
        return this.workDateTo;
    }
    
    public void setWorkDateTo(Date workDateTo) {
        this.workDateTo = workDateTo;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="dateOfIssue", nullable=false, length=10)
    public Date getDateOfIssue() {
        return this.dateOfIssue;
    }
    
    public void setDateOfIssue(Date dateOfIssue) {
        this.dateOfIssue = dateOfIssue;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="dueDate", nullable=false, length=10)
    public Date getDueDate() {
        return this.dueDate;
    }
    
    public void setDueDate(Date dueDate) {
        this.dueDate = dueDate;
    }
    @Temporal(TemporalType.DATE)
    @Column(name="dateOfPayment", length=10)
    public Date getDateOfPayment() {
        return this.dateOfPayment;
    }
    
    public void setDateOfPayment(Date dateOfPayment) {
        this.dateOfPayment = dateOfPayment;
    }
    
    @Column(name="isPaid", nullable=false, length=1)
    public String getIsPaid() {
        return this.isPaid;
    }
    
    public void setIsPaid(String isPaid) {
        this.isPaid = isPaid;
    }
    
    @Column(name="pricePerRateUnit", nullable=false, precision=12, scale=0)
    public Float getPricePerRateUnit() {
        return this.pricePerRateUnit;
    }
    
    public void setPricePerRateUnit(Float pricePerRateUnit) {
        this.pricePerRateUnit = pricePerRateUnit;
    }
    
    @Column(name="rateType", nullable=false, length=1)
    public String getRateType() {
        return this.rateType;
    }
    
    public void setRateType(String rateType) {
        this.rateType = rateType;
    }
    
    @Column(name="note")
    public String getNote() {
        return this.note;
    }
    
    public void setNote(String note) {
        this.note = note;
    }

    public Integer getUnits() {
        return units;
    }

    public void setUnits(Integer units) {
        this.units = units;
    }




}


